Due to advances in computing technology, businesses today are able to operate more efficiently when compared to substantially similar businesses only a few years ago. For example, high speed data networks enable employees of a company to communicate instantaneously by email, quickly transfer data files to disparate employees, manipulate data files, share data relevant to a project to reduce duplications in work product, etc. Furthermore, advancements in technology have enabled factory applications to become partially or completely automated. For instance, activities that once required workers to put themselves proximate to heavy machinery and other various hazardous conditions can now be completed at a safe distance therefrom.
Further, imperfections associated with human action have been minimized through employment of highly precise machines. Many of these factory devices supply data related to manufacturing to databases (or web services referencing databases) that are accessible by system/process/project managers on a factory floor. For example, sensors and associated software can detect a number of instances that a particular machine has completed an operation given a defined amount of time. Further, data from sensors can be delivered to a processing unit related to system alarms. Thus, a factory automation system can review collected data and automatically and/or semi-automatically schedule maintenance of a device, replacement of a device, and other various procedures that relate to automating a process.
To quickly and easily effectuate control of a system or process within industrial automation environments, equipment manufacturers typically create specialized human-machine interfaces (HMIs) that are employed by operators to deliver commands to industrial systems/processes and/or receive data from industrial systems/processes. In other words, HMIs provide an essential communication link between operators and automation devices, wherein such HMIs enable operators to, among other things, implement and control devices and receive feedback by monitoring device status and health during operation. Without these interfaces, high-level industrial automation would be difficult if not impossible to achieve.
Over time, HMIs have undergone several and drastic changes. For instance, a push-button that commissions and de-commissions a machine is a simplest form of a HMI, and these interfaces have been existent for several years. Terminals were later designed that displayed text messages to end users, wherein such messages are indicative of a process performed by a server or processor associated with an automation device. For example, a failed device can generate an internal error code representing a determined error which can then be matched with a particular error message. This message can thereafter be displayed to an operator on a display device. Development of client-side processing has enabled graphical depictions of status and control commands to operators, which has shifted a burden from an automated device or associated processor to a client-side graphical user interface. These graphical user interfaces improve an ability of users to access information quickly and easily.
Today's HMIs typically include several devices, which can be push-buttons or other suitable devices, which can operate together to effectuate control over a process, indicate status of a process, and/or the like. Interfacing these devices with control process, however, is a complex and mistake-prone process. In more detail, HMIs are conventionally separated logically from controllers, such that interfacing an HMI and a logic controller requires use of a “tag database.” In other words, to enable interaction between an HMI device and a logic controller, an intermediate tag or memory location is utilized, such that an HMI device reads and writes to the memory location and a controller responds to changes to data to such location. The HMI device has no concept or association of how data associated with the memory location is being employed, and the logic controller has no knowledge with respect to an interface or device generating data. Thus, a significant amount of time is required to define and test intermediate tags that act as holding places for communicating an interface associated with the device between such device and the controller. Furthermore, inefficiencies result, as the control logic must constantly monitor tag locations for alterations in data to ensure that an industrial process is being properly controlled.